var started = false; // na zabranenie zobrazenia infookna na zaciatku // ak nie su results
var rozdiel = 2;
var typy_ = [1, 2, 3, 4];
var areas = [1, 2, 3, 4, 5, 6, 7, 8];
var thumby = 4;
var komenty = 2;
var markers2 = [];
var dat = new Date();
$(document).ready(function () {
    function pad(n) {
        return n < 10 ? '0' + n : n
    }

    /* use a function for the exact format desired... */
    function ISODateString(d) {
        function pad(n) {
            return n < 10 ? '0' + n : n
        }

        return d.getDate() + '.'
            + pad(d.getMonth() + 1) + '.'
            + pad(d.getFullYear());
    }

    $('.type_pick_area .checkbox_route').click(function () {
        array = [];
        typy_ = [];
        $(this).toggleClass('checkbox_route_checked');
        for (var i = 1; i <= 4; i++) {

            if ($('#type' + i).attr('class') == 'checkbox_route checkbox_route_checked') {
                array.push($('#type' + i).html())
                typy_.push(i);
            }
        }
        ;
        if (array.length == 0) {
            jAlert("Musí byť zvolený aspoň jeden typ udalosti!", "Upozornenie");
            $(this).toggleClass('checkbox_route_checked');
        }
        else {
            if (array.length != 4) {
                var typy = '';
                for (i = 0; i < array.length; i++) {
                    typy += array[i] + ', ';
                }

                $('.currentType').html('<b>Typ udalostí: </b>' + typy.substr(0, typy.length - 2));
            }
            else {
                $('.currentType').html('<b>Typ udalostí: </b> všetky');
            }
            if (!($('.help_list3').attr('class') == 'help_list3 checked')) {
                $('.help_list3').toggleClass('checked');
            }
        }
    });
    $('.area_pick_area .checkbox_route').click(function () {
        areas = [];
        kraje = [];
        $(this).toggleClass('checkbox_route_checked');
        for (var i = 1; i <= 9; i++) {

            if ($('#area' + i).attr('class') == 'checkbox_route checkbox_route_checked') {
                areas.push(i);
                kraje.push($('#area' + i).html())
            }
        }
        ;
        if (areas.length == 0) {
            jAlert("Musí byť zvolený aspoň jeden kraj!", "Upozornenie");
            $(this).toggleClass('checkbox_route_checked');
        }
        else {
            if (kraje.length != 8) {
                var typy = '';
                for (i = 0; i < kraje.length; i++) {
                    typy += kraje[i] + ', ';
                }
                $('.currentArea').html('<b>Kraje: </b>' + typy.substr(0, typy.length - 2));
            }
            else {
                $('.currentArea').html('<b>Kraje: </b> všetky');
            }
            if (!($('.help_list4').attr('class') == 'help_list4 checked')) {
                $('.help_list4').toggleClass('checked');
            }
        }
    });


    $('.comments_pick_area .checkbox_route').click(function () {

        $('.comments_pick_area .checkbox_route').removeClass('checkbox_route_checked');
        $(this).toggleClass('checkbox_route_checked');

        komenty = $(this).attr('id');
        if ($(this).attr('id') == 'comment1' || $(this).attr('id') == 'comment2') {
            $('.currentComment').html('<b>Komentáre: </b>' + $(this).text() + ' obsahovať komentár(e)');
        }
        else {
            $('.currentComment').html('<b>Komentáre: </b>' + $(this).text() + ' na počte komentárov');
        }
        // if(!($('.help_list6').attr('class')=='help_list6 checked')){
        $('.help_list6').addClass('checked');
        // }

    });


    $('.thumbs_pick_area .checkbox_route').click(function () {

        $('.thumbs_pick_area .checkbox_route').removeClass('checkbox_route_checked');
        $(this).toggleClass('checkbox_route_checked');

        thumby = $(this).attr('id');

        $('.currentThumb').html('<b>Relevancia: </b>' + $(this).html());
        $('.help_list7').addClass('checked');

    });


    for (var i = 1; i <= 5; i++) {
        $('#limit' + i).click(function () {
            for (var j = 1; j <= 5; j++) {
                if (($('#limit' + j).attr('class') == 'checkbox_route checkbox_route_checked')) {
                    $('#limit' + j).toggleClass('checkbox_route_checked');
                }
            }
            $(this).toggleClass('checkbox_route_checked');
            $('.currentLimit').html('<b>Limit: </b><span class="limit_ajx">' + $(this).html() + '</span> udalostí');
            if (!($('.help_list5').attr('class') == 'help_list5 checked')) {
                $('.help_list5').toggleClass('checked');
            }
        });
    }

    $('#time1').timepicker({

        timeOnlyTitle:'Zvoľte čas',
        timeText:'Čas',
        hourText:'Hodiny',
        minuteText:'Minúty',
        secondText:'Sekundy',
        millisecText:'Milisekundy',
        timezoneText:'Časové pásmo',
        currentText:'Teraz',
        closeText:'Zavrieť',
        timeFormat:'HH:mm',
        ampm:false

    }).attr("readOnly", true);
    $('#time2').timepicker({
        timeOnlyTitle:'Zvoľte čas',
        timeText:'Čas',
        hourText:'Hodiny',
        minuteText:'Minúty',
        secondText:'Sekundy',
        millisecText:'Milisekundy',
        timezoneText:'Časové pásmo',
        currentText:'Teraz',
        closeText:'Zavrieť',
        timeFormat:'HH:mm',
        ampm:false
    }).attr("readOnly", true);
    $('#popupDatepicker').val(dat.getDate() + '.' + (dat.getMonth() + 1) + '.' + dat.getFullYear() + ' - ' + dat.getDate() + '.' + (dat.getMonth() + 1) + '.' + dat.getFullYear());
    $('.currentDate').html('<b>V rozmedzí dátumov:</b> <span class="date1">' + ISODateString(dat) + '</span> - <span class="date2">' + ISODateString(dat) + '</span>');
    $('.currentTime').html('<b>V rozmedzí časov:</b> <span class="time1">' + $('#time1').val() + '</span> - <span class="time2">' + $('#time2').val() + '</span>');
    $('.currentType').html('<b>Typ udalostí: </b> všetky');
    $('.currentArea').html('<b>Kraje: </b> všetky');
    $('.currentLimit').html('<b>Limit: </b> <span class="limit_ajx">20</span> udalostí');
    $('.currentComment').html('<b>Komentáre: </b> Nezáleži na počte komentárov');
    $('.currentThumb').html('<b>Relevancia: </b> Nezáleži na hlasoch');
    $('#accordion').accordion({ heightStyle:"content", active:false,
        collapsible:true  });


    $('.checkbox_route,.search_button').mouseover(function () {
        $(this).css('cursor', 'pointer');
        $(this).css('text-decoration', 'underline');
    }).mouseout(function () {
            $(this).css('text-decoration', 'none');
        });

    $(function () {
        $('#popupDatepicker').datepick({
            dateFormat:'dd.mm.yyyy',
            rangeSelect:true, monthsToShow:2, showTrigger:'#calImg',
            onSelect:function (dates) {
                $('.currentDate').html('<b>V rozmedzí dátumov:</b> ' + '<span class="date1">' + ISODateString(dates[0]) + '</span> - ' + '<span class="date2">' + ISODateString(dates[1]) + '</span>');
                if (!($('.help_list1').attr('class') == 'help_list1 checked')) {
                    $('.help_list1').toggleClass('checked');
                }

            },
        }).attr("readOnly", true);
    });
    $('#time1').change(function () {
        if (!($('.help_list2').attr('class') == 'help_list2 checked')) {
            $('.help_list2').toggleClass('checked');
        }
        $('.currentTime').html('<b>V rozmedzí časov:</b> ' + '<span class="time1">' + $('#time1').val() + '</span> - ' + '<span class="time2">' + $('#time2').val() + '</span>');
    });
    $('#time2').change(function () {
        if (!($('.help_list2').attr('class') == 'help_list2 checked')) {
            $('.help_list2').toggleClass('checked');
        }
        $('.currentTime').html('<b>V rozmedzí časov:</b> ' + '<span class="time1">' + $('#time1').val() + '</span> - ' + '<span class="time2">' + $('#time2').val() + '</span>');
    });

    function getType(n) {
        if (n == 'všetky') {
            return 0;
        }
        else {
            return
        }
    }

    function clearMarkersFromArray() {
        for (i = 0; i <= markers.length; i++) {
            markers.shift(markers[i]);
        }
        markers.length = 0;
    }

    $('.search_button').click(function () {
        if (markerCluster != null) {
            markerCluster.clearMarkers();
            clearMarkersFromArray();
        }
        started = true;
        ajx_start();
    });


    function ajx_start() {

        $.ajax({
            url:CI.base_url + 'viewreports/search/',
            type:'POST',
            data:{ 'typy':typy_, 'area':areas, 'limit':$('.limit_ajx').html(), 'time1':$('.time1').html(), 'time2':$('.time2').html(), 'date1':$('.date1').html(), 'date2':$('.date2').html(), 'komenty':komenty, 'thumby':thumby},
            success:function (data) {

                var obj = eval('(' + data + ')');

                if (obj == "error" && started == true) {
                    jAlert('Pre uvedené nastavenia sa nenašli žiadne udalosti.', 'Upozornenie');
                    return false;
                }
                else if (obj == "error") {
                    return false;
                }
                else {
                    for (var i = 0; i < obj['image'].length; i++) {
                        var myLatlng = new google.maps.LatLng(obj['latitude'][i], obj['longitude'][i]);
                        var marker = new google.maps.Marker({
                            position:myLatlng,
                            animation:google.maps.Animation.DROP,
                            icon:CI.base_url + 'css/images/' + obj['image'][i]
                        });

                        google.maps.event.addListener(marker, 'click', (function (marker, i) {
                            return function () {
                                infowindow.setContent(obj['content'][i]);
                                infowindow.open(map, this);

                            }
                        })(marker, i));
                        marker.setMap(map);
                        markers.push(marker);
                    }
                    markerCluster = new MarkerClusterer(map, markers);
                }

            }
        });

    }


    setTimeout(function () {
        ajx_start();
        $('.search_button').show("slide", { direction:"left" }, 1000);
    }, 2000);
});